<?php
/**
 * Created by PhpStorm.
 * User: Think
 * Date: 2018/4/3
 * Time: 11:20
 */

namespace app\index\controller;

use app\index\model\Data;
use think\Controller;

class Model extends Controller
{
    public function index()
    {
//        静态调用方法
        /*$user = Data::get(391);
        $arr = $user->toArray();*/
//        使用主键查询
        /*$user = Data::get(435);
        echo $user->title;*/


        // 使用数组查询
        //   $user = Data::get(['id' => 435]);
        // 使用闭包查询
        /*  $user = Data::get(function($query){
              $query->where('id', 435);
          });
          echo $user->id;*/

        $list = Data::all('433,434,435');
        foreach ($list as $key => $user) {
            echo $user->id;
        }
        var_dump($list);
        //var_dump($list->toArray());
//        $user = new Data();
//        $user = $user->get(390);
//        $arr = $user->toArray();
//        dump($arr);

    }

    public function update()
    {
//        在取出数据后，更改字段内容后更新数据。
        /* $user = Data::get(435);
          $user->title     = 'thinkphp';
          $user->content    = 'thinkphp@qq.com';
          $user->create_time = time('Y-m-d H:i:s');
          $user->save();*/

        // save方法第二个参数为更新条件
        /*    $user = new Data();
            $user->save([
                'title' => 'tj',
                'content' => 'thinkphp@qq.com'
            ], ['id' => 435]);*/
//        模型支持静态方法直接更新数据
//        $user = Data::where('id', 435)
//            ->update(['title' => 'tp5']);
//        可以通过闭包函数使用更复杂的更新条件，例如：
        $user = new Data;
        $user->save(['title' => 'tangjian'], function ($query) {
            // 更新status值为1 并且id大于10的数据
            $query->where('content', 'thinkphp@qq.com')->where('id', '=', 435);
        });
        if ($user) {
            echo "更新成功啦";
        } else {
            echo "更新失败";
        }

    }

//    删除当前模型
    public function delete()
    {
//        删除模型数据，可以在实例化后调用delete方法。
//        $user = Data::get(435);
//        if (!isset($user)) {
//            return $this->success('ID不存在即将跳转到^_^', 'bbs/show');
//        } else {
//            $user->delete();
//
//        }

        //或者直接调用静态方法

        // $user = Data::destroy(434);
// 支持批量删除多个数据
        //  $user =Data::destroy('434,432,433');
// 或者
        //$user =Data::destroy([1, 2, 3]);


        //使用数组进行条件删除，例如：
// 删除状态为0的数据
//        $user = Data::destroy(['id' => 434]);
        //支持使用闭包删除，例如：

       $user = Data::destroy(function ($query) {
            $query->where('id', '>=', 424);
        });
//----------------------------
        //定义好模型后，我们就可以使用：

        // 软删除
      /*  $user = Data::destroy(432);
        // 真实删除
        $user = Data::destroy(432,true);
        $user = Data::get(431);*/
        // 软删除

        /*

         // 真实删除
         $user->delete(true);*/
        if (!isset($user)) {
            return $this->success('ID不存在即将跳转到^_^', 'bbs/show');
        } else {
            return  '删除成功';
        }
    }

    public  function  add()
    {
        $user = model('data');
        $rand =rand(1,999);
        $list =[
            ['title' =>'thinkphp7.0','content' => $rand],
            ['title' =>'thinkphp8.1','content' => $rand]
        ];
        $user->saveAll($list);
        echo $user->create_time; // 输出类似 2016-10-12 14:20:10
//        if ($user)
//        {
//            return $this->success( "新增成功",'bbs/show');
//        }else{
//            return "新增失败";
//        }
    }
}